﻿(function($) {
	$.extend($.browser, {
				client : function() {
					return {
						width : document.documentElement.clientWidth,
						height : document.documentElement.clientHeight,
						bodyWidth : document.body.clientWidth,
						bodyHeight : document.body.clientHeight
					};
				},
				scroll : function() {
					return {
						width : document.documentElement.scrollWidth,
						height : document.documentElement.scrollHeight,
						bodyWidth : document.body.scrollWidth,
						bodyHeight : document.body.scrollHeight,
						left : document.documentElement.scrollLeft,
						top : document.documentElement.scrollTop
					};
				},
				screen : function() {
					return {
						width : window.screen.width,
						height : window.screen.height
					};
				},
				isIE6 : $.browser.msie && $.browser.version == 6,
				isMinW : function(val) {
					return Math.min($.browser.client().bodyWidth, $.browser
									.client().width) <= val;
				},
				isMinH : function(val) {
					return $.browser.client().height <= val;
				}
			})
})(jQuery);
(function($) {
	$.widthForIE6 = function(option) {
		var s = $.extend({
					max : null,
					min : null,
					padding : 0
				}, option || {});
		var init = function() {
			var w = $(document.body);
			if ($.browser.client().width >= s.max + s.padding) {
				w.width(s.max + "px");
			} else if ($.browser.client().width <= s.min + s.padding) {
				w.width(s.min + "px");
			} else {
				w.width("auto");
			}
		};
		init();
		$(window).resize(init);
	}
})(jQuery);
(function($) {
	$.fn.hoverForIE6 = function(option) {
		var s = $.extend({
					current : "hover",
					delay : 10
				}, option || {});
		$.each(this, function() {
					var timer1 = null, timer2 = null, flag = false;
					$(this).bind("mouseover", function() {
								if (flag) {
									clearTimeout(timer2);
								} else {
									var _this = $(this);
									timer1 = setTimeout(function() {
												_this.addClass(s.current);
												flag = true;
											}, s.delay);
								}
							}).bind("mouseout", function() {
								if (flag) {
									var _this = $(this);
									timer2 = setTimeout(function() {
												_this.removeClass(s.current);
												flag = false;
											}, s.delay);
								} else {
									clearTimeout(timer1);
								}
							})
				})
	}
})(jQuery);
(function($) {
	$.extend({
				_jsonp : {
					scripts : {},
					counter : 1,
					head : document.getElementsByTagName("head")[0],
					name : function(callback) {
						var name = '_jsonp_' + (new Date).getTime() + '_'
								+ this.counter;
						this.counter++;
						var cb = function(json) {
							eval('delete ' + name);
							callback(json);
							$._jsonp.head.removeChild($._jsonp.scripts[name]);
							delete $._jsonp.scripts[name];
						};
						eval(name + ' = cb');
						return name;
					},
					load : function(url, name) {
						var script = document.createElement('script');
						script.type = 'text/javascript';
						script.charset = this.charset;
						script.src = url;
						this.head.appendChild(script);
						this.scripts[name] = script;
					}
				},
				getJSONP : function(url, callback) {
					var name = $._jsonp.name(callback);
					var url = url.replace(/{callback};/, name);
					$._jsonp.load(url, name);
					return this;
				}
			});
})(jQuery);
(function($) {
	$.fn.jdTab = function(option, callback) {
		if (typeof option == "function") {
			callback = option;
			option = {};
		};
		var s = $.extend({
					type : "static",
					auto : false,
					source : "data",
					event : "mouseover",
					currClass : "curr",
					tab : ".tab",
					content : ".tabcon",
					itemTag : "li",
					stay : 5000,
					delay : 100,
					mainTimer : null,
					subTimer : null,
					index : 0
				}, option || {});
		var tabItem = $(this).find(s.tab).eq(0).find(s.itemTag), contentItem = $(this)
				.find(s.content);
		if (tabItem.length != contentItem.length)
			return false;
		var reg = s.source
				.toLowerCase()
				.match(/http:\/\/|\d|\.aspx|\.ascx|\.asp|\.php|\.html\.htm|.shtml|.js|\W/g);
		var init = function(n, tag) {
			s.subTimer = setTimeout(function() {
						hide();
						if (tag) {
							s.index++;
							if (s.index == tabItem.length)
								s.index = 0;
						} else {
							s.index = n;
						};
						s.type = (tabItem.eq(s.index).attr(s.source) != null)
								? "dynamic"
								: "static";
						show();
					}, s.delay);
		};
		var autoSwitch = function() {
			s.mainTimer = setInterval(function() {
						init(s.index, true);
					}, s.stay);
		};
		var show = function() {
			tabItem.eq(s.index).addClass(s.currClass);
			switch (s.type) {
				default :
				case "static" :
					var source = "";
					break;
				case "dynamic" :
					var source = (reg == null) ? tabItem.eq(s.index)
							.attr(s.source) : s.source;
					tabItem.eq(s.index).removeAttr(s.source);
					break;
			};
			if (callback) {
				callback(source, contentItem.eq(s.index), s.index);
			};
			contentItem.eq(s.index).show();
		};
		var hide = function() {
			tabItem.eq(s.index).removeClass(s.currClass);
			contentItem.eq(s.index).hide();
		};
		tabItem.each(function(n) {
					$(this).bind(s.event, function() {
								clearTimeout(s.subTimer);
								clearInterval(s.mainTimer);
								init(n, false);
								return false;
							}).bind("mouseleave", function() {
								if (s.auto) {
									autoSwitch();
								} else {
									return;
								}
							})
				});
		if (s.type == "dynamic") {
			init(s.index, false);
		};
		if (s.auto) {
			autoSwitch();
		}
	}
})(jQuery);
(function($) {
	$.fn.jdSlide = function(option) {
		var settings = $.extend({
					width : null,
					height : null,
					pics : [],
					index : 0,
					type : "num",
					current : "curr",
					delay1 : 200,
					delay2 : 8000
				}, option || {});
		var element = this;
		var timer1, timer2, timer3, flag = true;
		var total = settings.pics.length;
		var init = function() {
			var img = "<ul style='position:absolute;top:0;left:0;'><li><a href='"
					+ settings.pics[0].href
					+ "' target='_blank'><img src='"
					+ settings.pics[0].src
					+ "' width='"
					+ settings.width
					+ "' height='" + settings.height + "' /></a></li></ul>";
			element.css({
						"position" : "relative"
					}).html(img);
			$(function() {
						delayLoad();
					})
		};
		init();
		var initIndex = function() {
			var indexs = "<div>";
			var current;
			var x;
			for (var i = 0; i < total; i++) {
				current = (i == settings.index) ? settings.current : "";
				switch (settings.type) {
					case "num" :
						x = i + 1;
						break;
					case "string" :
						x = settings.pics[i].alt;
						break;
					case "image" :
						x = "<img src='" + settings.pics[i].breviary + "' />";
					default :
						break;
				};
				indexs += "<span class='" + current + "'><a href='"
						+ settings.pics[i].href + "' target='_blank'>" + x
						+ "</a></span>";
			};
			indexs += "</div>";
			element.append(indexs);
			element.find("span").bind("mouseover", function(e) {
						clearInterval(timer1);
						clearInterval(timer3);
						var index = element.find("span").index(this);
						if (index == settings.index) {
							return;
						} else {
							timer3 = setInterval(function() {
										if (flag)
											running(parseInt(index));
									}, settings.delay1);
						}
					}).bind("mouseleave", function(e) {
						clearInterval(timer3);
						timer1 = setInterval(function() {
									running(settings.index + 1, true);
								}, settings.delay2);
					})
		};
		var running = function(index, tag) {
			if (index == total) {
				index = 0;
			};
			element.find("span").eq(settings.index)
					.removeClass(settings.current);
			element.find("span").eq(index).addClass(settings.current);
			timer2 = setInterval(function() {
						var pos_y = parseInt(element.find("ul").get(0).style.top);
						var pos_a = Math.abs(pos_y + settings.index
								* settings.height);
						var pos_b = Math.abs(index - settings.index)
								* settings.height;
						var pos_c = Math.ceil((pos_b - pos_a) / 4);
						if (pos_a == pos_b) {
							clearInterval(timer2);
							if (tag) {
								settings.index++;
								if (settings.index == total) {
									settings.index = 0;
								}
							} else {
								settings.index = index;
							};
							flag = true;
						} else {
							if (settings.index < index) {
								element.find("ul").css({
											top : pos_y - pos_c + "px"
										});
							} else {
								element.find("ul").css({
											top : pos_y + pos_c + "px"
										});
							};
							flag = false;
						}
					}, 10);
		};
		var delayLoad = function() {
			var img = "";
			for (var i = 1; i < total; i++) {
				img += "<li><a href='" + settings.pics[i].href
						+ "' target='_blank'><img src='" + settings.pics[i].src
						+ "' width='" + settings.width + "' height='"
						+ settings.height + "' /></a></li>";
			};
			element.find("ul").append(img);
			timer1 = setInterval(function() {
						running(settings.index + 1, true);
					}, settings.delay2);
			if (settings.type)
				initIndex();
		};
	}
})(jQuery);
function ResumeError() {
	return true;
}
window.onerror = ResumeError;
if ($.browser.isIE6) {
	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch (err) {
	}
};
function createCookie(name, value, days, Tdom) {
	var Tdom = (Tdom) ? Tdom : "/";
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	} else {
		var expires = "";
	}
	document.cookie = name + "=" + value + expires + "; path=" + Tdom;
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1, c.length);
		}
		if (c.indexOf(nameEQ) == 0) {
			return c.substring(nameEQ.length, c.length);
		}
	}
	return null;
}